草庐IT

Java deleteOnExit 和 addShutdownHook - 哪个先出现?

全部标签

c# - 在具有多个对应名称的枚举值上调用 ToString() 时,什么决定选择哪个名称?

在具有多个对应名称的enum值上调用ToString()时,什么决定选择哪个名称?问题的详细解释如下。我已经确定这不是由以下任何一个唯一确定的:字母顺序;申报单;也不,名称长度。例如,假设我想要一个枚举,其中数值直接对应于实际用途(例如颜色的rgb值)。publicenumRgbColor{Black=0x000000,Red=0xff0000,Green=0x00ff00,Blue=0x0000ff,White=0xffffff}现在,使用此枚举,调用default(RgbColor)将返回黑色的rgb值。假设我不希望默认值为黑色,因为我希望UI设计人员在没有关于使用什么颜色的具体说

c# - 如果我将 IQueryable 转换为 IEnumerable 然后调用 Linq 扩展方法,将调用哪个实现?

考虑以下代码:IQueryablequeryable;//somethingtoinstantiatequeryablevarenumerable=(IEnumerable)queryable;varfiltered=enumerable.Where(i=>i>3);在最后一行,调用了哪个扩展方法?是IEnumerable.Where(...)吗?或者将IQueryable.Where(...)被调用是因为实际的实现显然仍然是可查询的?大概理想的情况是调用IQueryable版本,就像普通多态性将始终使用更具体的覆盖一样。虽然在VisualStudio中,当我右键单击Where方法并“

c# - 使用 : HandleRef or IntPtr (newer source code from Microsoft no longer uses HandleRef) 哪个更好/更安全

例如,在旧的.NETFramework2.0源代码(Windows窗体、VisualStudio2005-Whidbey)中,GetClientRect函数是使用HandleRef定义的:[DllImport(ExternDll.User32,ExactSpelling=true,CharSet=CharSet.Auto)]publicstaticexternboolGetClientRect(HandleRefhWnd,[In,Out]refNativeMethods.RECTrect);在新的WindowsAPI代码包(来自Microsoft,2009/2010)中,使用IntPt

c# - 在嵌套 If 中应用两个条件或将单个条件与 And 结合使用哪个更好?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭3年前。Improvethisquestion嵌套If或单个ifwithAnd运算符,哪种方法更好?单个If和if(txtPackage.Text!=string.Empty&&txtPackage.Text=="abc"){//}嵌套if(txtPackage.Text!=string.Empty){if(txtPackage.Text=="abc"){//}}

c# - 我应该使用哪个,CodeContract 还是 CuttingEdge.Conditions?

我研究了使用条件框架来验证数据而不是if(cond)thrownewSomeException();SomeFramework.MakeSure(cond);最后我的选择是使用CodeContract或CuttingEdge.Conditions框架。我无法决定使用哪个框架。我可以告诉你,我不喜欢“CodeContract”框架的地方是你必须安装额外的msi才能使用它以及你需要选择的选项;不是说它不好,而是感觉不自然。(当然,它仍在MS研究中。)你怎么看? 最佳答案 CodeContracts框架是.NET4的一部分。因此您可以针对

c# - 哪个更适合获取程序集位置,GetAssembly().Location 或 GetExecutingAssembly().Location

请建议哪个最适合获取执行程序集位置。Assembly.GetAssembly(typeof(NUnitTestProject.RGUnitTests)).Location或Assembly.GetExecutingAssembly().Location请建议哪个更好。我也可以使用GetEntryAssembly()吗? 最佳答案 这取决于你想要什么。Assembly.GetAssembly返回声明了type的程序集。Assembly.GetExecutingAssembly返回正在执行当前代码的程序集。Assembly.GetEnt

c# - 哪个更快 : Union or Concat?

哪个更快:Union或Concat?我不关心元素的顺序。Enumerable.UnionMethodEnumerable.ConcatMethod 最佳答案 Union删除重复项。Concat没有。因此,如果源包含任何共同项或具有任何内部重复项,它们会产生不同的结果。如果您可以保证没有重复项,或者如果重复项很少并且您不关心在输出中包含它们,Concat会更快,因为不需要根据已经产生的值来测试每个值。但是,如果有很多重复项而您不需要它们,则Union中的额外处理删除重复项可能会被使用结果的代码中的节省所抵消。

c# - C# 如何决定将哪个枚举值作为返回值?有什么规定吗?

这个问题在这里已经有了答案:Non-uniqueenumvalues(8个答案)关闭8年前。我发现了一件很有趣的事——比如说:enumMyenum{a,b,c=0}publicclassProgram{staticvoidMain(string[]args){Myenumma=Myenum.a;Console.WriteLine(ma);}}结果是a,为什么?如果我说:enumMyenum{a,b=0,c}publicclassProgram{staticvoidMain(string[]args){Myenumma=Myenum.a;Console.WriteLine(ma);}}结

c# - c#中readonly关键字/Expression-bodied成员之间的区别?哪个更好?

在C#中,只读成员可以减少为只读自动属性/不可变成员的表达式体成员是表达式体成员比使用只读关键字更好吗?使用只读键:publicstaticreadonlystringCOMPANY_NAME="XYZ";使用Expression-bodied成员:publicstaticstringCOMPANY_NAME=>"XYZ";我遇到过各种论坛和解决方案,这些论坛和解决方案建议将表达式主体成员用于速记,但我找不到它在性能上有何不同。 最佳答案 让我们深入了解一下编译器对不同类型的字段做了什么。classProgram{publiccon

C#:检测哪个应用程序具有焦点

我想创建一个C#应用程序,它根据当前具有焦点的应用程序更改内容。因此,如果用户使用的是Firefox,我的应用程序就会知道这一点。同样适用于Chrome、VisualStudio、TweetDeck等。这是否可能,如果可能-我将如何实现它?我觉得我的要求太多了-但值得一试。非常感谢。 最佳答案 这可以在纯.NET中使用Automationframework完成这是WPF的一部分。添加对UIAutomationClient和UIAutomationTypes的引用并使用Automation.AddAutomationFocusChan